using NHibernate.Validator.Constraints;
using SharpArch.Core.DomainModel;

namespace ETestIT.Core
{
    public class Position : Entity
    {
        public Position() { }
		
		[NotNull]
		public virtual JobTitle TheJobTitle { get; set; }

		[NotNull]
		public virtual Client TheComapny { get; set; }

		[Min(1)]
		public virtual int Duration { get; set; }

		[NotNullNotEmpty]
		public virtual string KeySkills { get; set; }

		[NotNullNotEmpty]
		public virtual string Location { get; set; }

		[NotNullNotEmpty]
		public virtual string Description { get; set; }

		public virtual PositionType ThePosition { get; set; }

        public virtual bool IsStar { get; set; }
        
        public virtual bool ExcelentCommunicationSkills { get; set; }
        
        public virtual string Openings { get; set; }
        
        public virtual bool IsRemote { get; set; }
    }

    public enum PositionType
    {
        Contract,
        ContractToHire,
        FullTime
    }
}
